import HTTP from '@/libs/http'
class ActivityApi extends HTTP {
  /**
   * @description: 党建活动banner
   * @author cx
   * @date 2021.11.03
   */
  bannerlist() {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyActivity/bannerlist'
    })
  }

  /**
   * @description: 党建活动列表
   * @author cx
   * @date 2021.11.03
   * @param {Int} recordSize 开始下标（第一条数据的下标为0）
   * @param {Int} pageSize 每页显示条数
   * @param {String} type 活动类型
   */
  list({ pageSize, recordSize, type }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyActivity/list',
      params: { pageSize, recordSize, type }
    })
  }

  /**
   * @description: 党建活动详情
   * @author cx
   * @date 2021.11.03
   * @param {String} code  活动编码
   */
  detail({ code }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyActivity/detail',
      params: { code }
    })
  }

  /**
   * @description: 党建活动报名
   * @author cx
   * @date 2021.11.03
   * @param {String} code  活动编码
   */
  entry({ code }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyActivity/entry',
      params: { code }
    })
  }

  /**
   * @description: 党建活动取消报名
   * @author cx
   * @date 2021.11.03
   * @param {String} code  活动编码
   */
  cancel({ code }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyActivity/cancel',
      params: { code }
    })
  }
}
class MyApi extends HTTP {
  /**
   * @description: 我的心愿保存
   * @author cx
   * @param {String} appPartyWish 心愿
   * @date 2021.11.03
   */
  save({ appPartyWish }) {
    return this.request({
      method: 'POST',
      url: '/smart/smart-app/myparty/save',
      data: {
        appPartyWish
      }
    })
  }

  /**
   * @description: 我的党建活动列表
   * @author cx
   * @date 2021.11.03
   * @param {Int} recordSize 开始下标（第一条数据的下标为0）
   * @param {Int} pageSize 每页显示条数
   * @param {String} status 活动状态
   */
  list({ pageSize, recordSize, status }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyActivity/mylist',
      params: { pageSize, recordSize, status }
    })
  }
}
class NoticeApi extends HTTP {
  /**
   * @description: 党建公告bannerList
   * @author cx
   * @date 2021.11.04
   */
  bannerlist() {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/noticeparty/bannerlist'
    })
  }
}
class StudyApi extends HTTP {
  /**
   * @description: 党建学习列表
   * @author cx
   * @date 2021.11.04
   * @param {Int} recordSize 开始下标（第一条数据的下标为0）
   * @param {Int} pageSize 每页显示条数
   * @param {String} learnType 学习类型
   * @param {String} childLearnType 子类型
   */
  list({ pageSize, recordSize, learnType, childLearnType }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyLearn/list',
      params: { pageSize, recordSize, learnType, childLearnType }
    })
  }

  /**
   * @description: 党建学习详情
   * @author cx
   * @date 2021.11.05
   * @param {String} learnType 学习类型
   * @param {String} code  学习编码
   */
  detail({ learnType, code }) {
    return this.request({
      method: 'GET',
      url: '/smart/smart-app/partyLearn/detail',
      params: { learnType, code }
    })
  }
}
class PartyBuildingApi {
  constructor() {
    this.Activity = new ActivityApi()
    this.My = new MyApi()
    this.Notice = new NoticeApi()
    this.Study = new StudyApi()
  }
}

const PartyBuilding = new PartyBuildingApi()
export default PartyBuilding
